.class public abstract Lcom/estrongs/dlna/render/player/MediaPlayers;
.super Ljava/util/concurrent/ConcurrentHashMap;
.source "MediaPlayers.java"


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "Ljava/util/concurrent/ConcurrentHashMap<",
        "Lorg/teleal/cling/model/types/UnsignedIntegerFourBytes;",
        "Lcom/estrongs/dlna/render/player/c;",
        ">;"
    }
.end annotation


# static fields
.field private static final serialVersionUID:J = 0x1L


# instance fields
.field protected mAvTransportLastChange:Lorg/teleal/cling/support/lastchange/LastChange;

.field private mCurrentMediaPlayer:Lcom/estrongs/dlna/render/player/c;

.field protected mIsWaitingConfirm:Z

.field protected mPlayerProxy:Lcom/estrongs/dlna/render/player/b;

.field protected mRenderingControlLastChange:Lorg/teleal/cling/support/lastchange/LastChange;


# direct methods
.method public constructor <init>()V
    .locals 1

    const/4 v0, 0x1

    .line 1
    invoke-direct {p0, v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>(I)V

    const/4 v0, 0x0

    .line 2
    iput-boolean v0, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mIsWaitingConfirm:Z

    return-void
.end method


# virtual methods
.method public declared-synchronized confirmPlay()V
    .locals 2

    monitor-enter p0

    const/4 v0, 0x0

    .line 1
    :try_start_0
    iput-boolean v0, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mIsWaitingConfirm:Z

    .line 2
    iget-object v0, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mCurrentMediaPlayer:Lcom/estrongs/dlna/render/player/c;

    sget-object v1, Lorg/teleal/cling/support/model/TransportState;->PLAYING:Lorg/teleal/cling/support/model/TransportState;

    invoke-virtual {v0, v1}, Lcom/estrongs/dlna/render/player/c;->a(Lorg/teleal/cling/support/model/TransportState;)V
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    .line 3
    monitor-exit p0

    return-void

    :catchall_0
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public initPlayers(Lorg/teleal/cling/support/lastchange/LastChange;Lorg/teleal/cling/support/lastchange/LastChange;)V
    .locals 2

    .line 1
    iput-object p1, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mAvTransportLastChange:Lorg/teleal/cling/support/lastchange/LastChange;

    .line 2
    iput-object p2, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mRenderingControlLastChange:Lorg/teleal/cling/support/lastchange/LastChange;

    .line 3
    new-instance p1, Lcom/estrongs/dlna/render/player/MediaPlayers$a;

    new-instance p2, Lorg/teleal/cling/model/types/UnsignedIntegerFourBytes;

    const-wide/16 v0, 0x0

    invoke-direct {p2, v0, v1}, Lorg/teleal/cling/model/types/UnsignedIntegerFourBytes;-><init>(J)V

    iget-object v0, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mAvTransportLastChange:Lorg/teleal/cling/support/lastchange/LastChange;

    iget-object v1, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mRenderingControlLastChange:Lorg/teleal/cling/support/lastchange/LastChange;

    invoke-direct {p1, p0, p2, v0, v1}, Lcom/estrongs/dlna/render/player/MediaPlayers$a;-><init>(Lcom/estrongs/dlna/render/player/MediaPlayers;Lorg/teleal/cling/model/types/UnsignedIntegerFourBytes;Lorg/teleal/cling/support/lastchange/LastChange;Lorg/teleal/cling/support/lastchange/LastChange;)V

    iput-object p1, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mCurrentMediaPlayer:Lcom/estrongs/dlna/render/player/c;

    .line 4
    invoke-virtual {p1}, Lcom/estrongs/dlna/render/player/c;->j()Lorg/teleal/cling/model/types/UnsignedIntegerFourBytes;

    move-result-object p1

    iget-object p2, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mCurrentMediaPlayer:Lcom/estrongs/dlna/render/player/c;

    invoke-virtual {p0, p1, p2}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    return-void
.end method

.method public abstract onPlayerStart(Lcom/estrongs/dlna/render/player/c;)V
.end method

.method public declared-synchronized refusePlay()V
    .locals 2

    monitor-enter p0

    const/4 v0, 0x0

    .line 1
    :try_start_0
    iput-boolean v0, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mIsWaitingConfirm:Z

    .line 2
    iget-object v0, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mCurrentMediaPlayer:Lcom/estrongs/dlna/render/player/c;

    sget-object v1, Lorg/teleal/cling/support/model/TransportState;->STOPPED:Lorg/teleal/cling/support/model/TransportState;

    invoke-virtual {v0, v1}, Lcom/estrongs/dlna/render/player/c;->a(Lorg/teleal/cling/support/model/TransportState;)V
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    .line 3
    monitor-exit p0

    return-void

    :catchall_0
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public registerPlayerProxy(Lcom/estrongs/dlna/render/player/b;)V
    .locals 0

    .line 1
    iput-object p1, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mPlayerProxy:Lcom/estrongs/dlna/render/player/b;

    return-void
.end method

.method public unRegisterPlayerProxy()V
    .locals 1

    const/4 v0, 0x0

    .line 1
    iput-object v0, p0, Lcom/estrongs/dlna/render/player/MediaPlayers;->mPlayerProxy:Lcom/estrongs/dlna/render/player/b;

    return-void
.end method
